perm filename X.LST[7,ALS] blob
sn#032369 filedate 1973-04-03 generic text, type T, neo UTF8
␈↓↓␈↓α␈↓β␈↓∧␈↓∂␈↓.
␈↓ ↓H
␈↓α␈↓ βCThis writeup is ␈↓↓MRPP3.WRU[XGP,REM] ␈↓β1973 APR 03 0801 p.1
␈↓ ↓H
␈↓β␈↓ α@Maas Research Paper Plotter program, version 3 (earlier versions in 1969 used Calcomp 565)
␈↓α␈↓ αoProgram to switch fonts and justify text, by Robert Elton Maas, 1973 March
␈↓ β"The system command to run this program is ␈↓↓RU MRPP3[XGP,REM]
␈↓ ↓H
␈↓β␈↓ ↓H␈α?␈α⊃The␈α⊃program␈α⊂asks␈α⊂for␈α⊂a␈α⊂command␈α⊂string␈α⊂of␈α⊂the␈α⊂form␈α⊂<OUTPUT␈α⊂FILE>←<INPUT␈α⊂FILE>␈α⊂with␈α⊂perhaps
␈↓ ↓Hswitches␈α∞after␈α∞the␈α∞input␈α∞file␈α∞name.␈α
The␈α
input␈α
file␈α
must␈α
not␈α
contain␈α
line␈α
numbers,␈α
but␈α
may␈α
contain␈α
a␈α
TV-EDIT
␈↓ ↓Hdirectory␈α∞which␈α∞will␈α∞be␈α∞ignored.␈α∞It␈α∞may␈α
also␈α
contain␈α
XGP␈α
escape␈α
characters␈α
(RUBOUT␈α
followed␈α
by␈α
↓␈α
or␈α
α)␈α
at
␈↓ ↓Hmost␈α
places␈α
in␈α
the␈α
file.␈α
The␈α
output␈α
file␈α
will␈α
be␈α
in␈α
a␈α
form␈α
that␈α
can␈α
be␈α
copied␈α
directly␈α
to␈α
the␈αXGP␈αin␈αmode␈α0␈αby
␈↓ ↓Hmeans␈α∞of␈α∞the␈α∞"XG"␈α∞command,␈α∞and␈α∞in␈α∞addition␈α∞there␈α∞will␈α∞be␈α∞a␈α
file␈α
QQXGP.RPG␈α
written,␈α
which␈α
contains␈α
the␈α
font
␈↓ ↓Hswitches␈αneeded␈αfor␈αlisting␈αthe␈αfile␈αon␈αthe␈αXGP.␈αUpon␈αexit,␈αit␈αwill␈αput␈α␈↓↓XG␈α@QQXGP.RPG␈α␈↓βinto␈αyour␈αTTY␈αbuffer
␈↓ ↓Hso␈α
that␈α
all␈α
you␈α
have␈α
to␈α
do␈α
is␈α
hit␈α
carriage␈α
return␈α
to␈α
gronk␈α
the␈α
XGP.
␈↓ ↓H␈α?␈α⊃The␈αfirst␈αcharacter␈αof␈αthe␈αinput␈αfile␈αwill␈αbe␈αinterpreted␈αas␈αthe␈αescape␈αcharacter␈αyou␈αwish␈αto␈αuse␈αinitially.
␈↓ ↓H(In␈α
the␈αremainder␈αof␈αthis␈αwriteup,␈αthe␈αcharacter␈α␈↓1␈↓β␈αrepresents␈αwhatever␈αEscape␈αCharacter␈αyou␈αhave␈αin␈αeffect␈αat
␈↓ ↓Hthe␈αmoment.)␈αSubsequent␈αoccurrances␈αof␈αthis␈αcharacter␈αwill␈αescape␈αto␈αcommand␈αmode␈αand␈αcause␈αspecial␈αthings␈αto
␈↓ ↓Hhappen␈αdepending␈αon␈αthe␈αnext␈αcharacter␈α(see␈αbelow).␈αIf,␈αhowever,␈αthe␈αsecond␈αcharacter␈αof␈αyour␈αfile␈αis␈α|␈αor␈α.␈αthen
␈↓ ↓Hthis␈αprogram␈αwill␈αassume␈αyou␈αleft␈αout␈αthe␈αinitial␈αdefinition␈αof␈αthe␈αbreak␈αcharacter,␈αand␈αwill␈αretroactively␈αescape
␈↓ ↓Hon␈α
the␈αfirst␈αcharacter.␈αUsing␈αthis␈αfeature␈αallows␈αyou␈αto␈αcreate␈αfiles␈αthat␈αmay␈αbe␈αconcatinated␈αwithout␈αre-editing
␈↓ ↓Hanything.␈α
Simply␈α
begin␈α
each␈α
file␈α
with␈α
␈↓1␈↓β|␈↓1␈↓β␈α
or␈α
␈↓1␈↓β.<crlf>␈α
and␈α
delete␈α
directory␈α
pages␈α
whenever␈α
concatinating.
␈↓ ↓H␈α?␈α⊃Below␈α∂is␈α∂a␈α∂list␈α∂of␈α∂commands,␈α∂where␈α∂␈↓∧<N>␈↓β␈α∂represents␈α∂a␈α∂character␈α∂in␈α∂the␈α∂range␈α∂of␈α∂0,1,2,...,9,A,B,...,F␈α∞that
␈↓ ↓Hspecifies␈αthe␈αfont␈α
ID␈α
number,␈α
␈↓∧<KH>␈↓β␈α
represents␈α
any␈α
character,␈α
and␈α
␈↓∧<FONT>␈↓β␈α
represents␈α
a␈α
font␈α
filename␈α
(defaults␈α
are
␈↓ ↓H.FNT[XGP,SYS])
␈↓ ↓H
␈↓1␈↓∂|<KH> ␈↓ ∧∂␈↓β(changes␈α
the␈α
escape␈α
character␈α
to␈α
<KH>)
␈↓1␈↓∂M<N><FONT>; ␈↓ ∧∂␈↓β(causes␈α
the␈α
font␈α
to␈α
be␈α
compiled,␈α
and␈α
selects␈α
it␈α
now)
␈↓1␈↓∂F<N> ␈↓ ∧∂␈↓β(selects␈α
a␈α
font␈α
which␈α
has␈α
already␈α
been␈α
compiled)
␈↓1␈↓∂f<N> ␈↓ ∧∂␈↓β(selects␈α
a␈α
font␈α
for␈α
just␈α
one␈α
character,␈α
then␈α
back␈α
to␈α
old␈α
font)
␈↓1␈↓∂S ␈↓ ∧∂␈↓β(generates␈α
a␈α
sample␈α
of␈α
the␈α
currently-selected␈α
font,␈α
see␈α
bulletin␈α
board)
␈↓1␈↓∂. ␈↓ ∧∂␈↓β(everything␈αuntil␈αnext␈αcrlf␈αis␈αa␈αcomment,␈αtyped␈αon␈αtty␈α
but␈α
not␈α
included
␈↓ ∧∂in␈α
output␈α
file)
␈↓11 ␈↓ ∧∂␈↓β(quotes␈α
the␈α
escape␈α
character)
␈↓1␈↓∂J ␈↓ ∧∂␈↓β(begins␈αfull-justify␈αsubmode,␈α
use␈α
␈↓1␈↓β.␈α
to␈α
get␈α
out␈α
of␈α
it.␈α
While␈α
in␈α
this␈α
mode,
␈↓ ∧∂the␈αonly␈αescape␈αcommand␈α(either␈αrubout-style␈αor␈α␈↓1␈↓β-style)␈αthat␈αis␈αlegal
␈↓ ∧∂is␈α
"change␈α
font")
␈↓1␈↓∂C ␈↓ ∧∂␈↓β(begins␈α
center-the-line␈α
mode,␈α
until␈α
the␈α
next␈α
line␈α
feed␈αor␈α␈↓1␈↓β.␈αoccurs␈α--
␈↓ ∧∂the␈α
latter␈α
suppresses␈α
crlf␈α
after␈α
the␈α
text)
␈↓1␈↓∂R ␈↓ ∧∂␈↓β(begins␈α
align-text-against-right-margin-mode,␈α
until␈α
the␈α
next␈α
line␈α
feed
␈↓ ∧∂or␈α
␈↓1␈↓β.␈α
occurs␈α
--␈α
the␈α
latter␈α
suppresses␈α
crlf␈α
after␈α
the␈α
text)
␈↓ ↓H
␈↓∧Commands not yet implemented␈↓ ↓H␈↓!→α⎇␈↓ ↓H␈↓!~α⎇␈↓ ∧E:
␈↓ ↓H
␈↓1␈↓∂≡ ␈↓ ∧∂␈↓β(begins␈α∪"pass␈α∩exactly␈α∩as-is"␈α∩mode,␈α∩suppresses␈α∩/XJ␈α∩mode␈α∩until␈α∩␈↓1␈↓∂.␈↓β
␈↓ ∧∂occurs)
␈↓ ↓H
␈↓∧Switches not yet implemented␈↓ ↓H␈↓!→αj␈↓ ↓H␈↓!~αj␈↓ ∧2:
␈↓ ↓H
␈↓∂/XAPJUS ␈↓ ∧∂␈↓β(no␈α
command␈α
characters,␈α
will␈α
replace␈α
XAPJUS.SAI␈α
2-way␈α
mode)
␈↓∂/XJ ␈↓ ∧∂␈↓β(unless␈αin␈αparagraph,␈αcenter,␈αright-align,␈αor␈αas-it-is␈αmode,␈αtext␈αwill␈αbe
␈↓ ∧∂parsed␈α
by␈α
xapjus␈α
scanner)
␈↓ ↓H
␈↓α␈↓ βBThis writeup is ␈↓↓MRPP3.WRU[XGP,REM] ␈↓β1973 APR 03 0801 p.2
␈↓ ↓H
␈↓↓␈↓ ¬vQ-REGISTERS
␈↓β␈↓ ↓H␈α?␈α⊃There␈α⊂are␈α⊂128␈α⊂registers␈α⊂which␈α⊂can␈α⊂hold␈α⊂any␈α⊂36-bit␈α⊂integer,␈α⊂usually␈α⊂the␈α⊂horizonal␈α⊂coordinate␈α∂of␈α∂some
␈↓ ↓Hcolumn␈αon␈αthe␈αpage.␈αThe␈αidea␈αis␈αto␈αallow␈αspecification␈αof␈αmulti-column␈αtables␈α
and␈α
␈↓αsuperscripts-above-subscripts␈↓β
␈↓ ↓Hin␈α⊂an␈α⊂easy␈α⊂and␈α⊂flexable␈α⊂way,␈α⊂including␈α⊂automatic␈α⊂allocation␈α⊂of␈α⊂such␈α⊂things␈α∂as␈α∂"␈↓α1/5␈α∂of␈α∂a␈α∂page␈↓β"␈α∂by␈α∂simple
␈↓ ↓Hdivision.␈αEach␈αregister␈αis␈αspecified␈αby␈αan␈αASCII␈αcharacter,␈αhence␈αsome␈αregisters␈αare␈αactually␈αinaccessible,␈αbut␈α
who
␈↓ ↓Hcares?␈α⊂Register␈α⊂0␈α⊂(null␈α⊂character,␈α⊂inaccessible␈α⊂usually)␈α⊂is␈α⊂called␈α⊂the␈α⊂"␈↓αaccumulator␈↓β"␈α⊂and␈α∂is␈α∂the␈α∂intermediate
␈↓ ↓Hstorage␈α⊂for␈α⊂all␈α∂sequences␈α∂of␈α∂arithmetic␈α∂calculation.␈α∂Register␈α∂'56␈α∂(the␈α∂period␈α∂character)␈α∂always␈α∂represents␈α∂the
␈↓ ↓Hcurrent␈α
column␈α
location.␈α
Every␈α
time␈α
a␈α
character␈α
is␈α
written,␈α
this␈α
q-register␈α
is␈α
updated␈α
to␈α
account␈α
for␈α
the␈αspace
␈↓ ↓Hused␈α
up␈α
by␈α
the␈α
character,␈α
and␈α
if␈αyou␈αtry␈αto␈αwrite␈αin␈αthis␈αq-register,␈αa␈αcolumn␈αselect␈αwill␈αbe␈αgenerated␈αin␈αyour
␈↓ ↓Houtput␈αfile␈αas␈α
well␈α
as␈α
updating␈α
the␈α
q-register␈α
to␈α
reflect␈α
the␈α
column␈α
select.␈α
Q-reg's␈α
L␈α
and␈α
R␈α
are␈α
the␈α
LEFT-MARGIN
␈↓ ↓Hand␈α
the␈α
RIGHT-MARGIN.␈αThe␈αcommands␈αare␈αshown␈αbelow,␈αwhere␈αthe␈αletter␈αQ␈αrepresents␈αany␈αcharacter,␈αand␈αis
␈↓ ↓Hused␈αto␈αselect␈αa␈αq-register␈α--␈αhowever,␈α
if␈α
Q␈α
is␈α
the␈α
right-apostrophe␈α
"'",␈α
then␈α
instead␈α
of␈α
reading␈α
from␈α
a␈α
q-register,
␈↓ ↓Hthe␈αoctal␈αdigits␈αfrom␈αhere␈α
to␈α
the␈α
next␈α
semicolon␈α
are␈α
assembled␈α
into␈α
an␈α
unsigned␈α
constant␈α
and␈α
that␈α
constant␈α
acts␈α
as
␈↓ ↓Han␈α
immediate␈α
operand.␈α
Also,␈α
an␈α
equal-sign␈α
causes␈α
a␈α
decimal␈α
argument␈α
to␈α
be␈α
scanned␈α
up␈α
to␈α
the␈α
next␈αsemicolon.
␈↓ ↓HAlso,␈α
lower-case␈α
w␈α
followed␈α
by␈α
character␈α
gives␈α
width␈α
of␈α
that␈α
character:
␈↓ ↓H
␈↓1␈↓∂←Q ␈↓β(Load ac from q-reg)
␈↓ ↓H
␈↓1␈↓∂+Q ␈↓β(ac plus q-reg, result in ac)
␈↓ ↓H
␈↓1␈↓∂-Q ␈↓β(ac minus q-reg, result in ac)
␈↓ ↓H
␈↓1␈↓∂¬Q ␈↓β(q-reg minus ac, result in ac)
␈↓ ↓H
␈↓1␈↓∂*Q ␈↓β(ac times q-reg, result in ac)
␈↓ ↓H
␈↓1␈↓∂/Q ␈↓β(ac divided by q-reg, result (quotient) in ac)
␈↓ ↓H
␈↓1␈↓∂\Q ␈↓β(q-reg divided by ac, result (quotient) in ac)
␈↓ ↓H
␈↓1␈↓∂~Q ␈↓β(maximum of ac and q-reg, result in ac)
␈↓ ↓H
␈↓1␈↓∂_Q ␈↓β(minimum of ac and q-reg, result in ac)
␈↓ ↓H
␈↓1␈↓∂→Q ␈↓β(store contents of ac into q-reg, immediate operand not allowed)
␈↓ ↓H
␈↓1␈↓∂↑Q ␈↓β(move text up q/200 inch)
␈↓ ↓H
␈↓1␈↓∂↓Q ␈↓β(move text down q/200 inch)
␈↓ ↓H
␈↓1␈↓∂ULABR␈↓β␈↓ αK(underline␈α
from␈α
location␈α
L␈α
to␈α
location␈αR,␈αon␈αscan␈αline␈αA,␈αwith␈αline␈αthickness␈αB␈α--␈αeach␈αof
␈↓ αKL,A,B,R␈α
may␈α
be␈α
a␈α
q-reg␈α
or␈α
an␈α
immediate␈α
operand)
␈↓1␈↓∂j␈↓β ␈↓1␈↓∂r␈↓β or ␈↓1␈↓∂c
␈↓ ↓H
␈↓β␈↓ αK(same␈α
as␈α
␈↓1␈↓βJ␈α
␈↓1␈↓βR␈α
and␈α
␈↓1␈↓βC␈α
except␈α
it␈α
sets␈α
up␈α
temporary␈α
margins␈α
from␈α
q-registers␈α
l␈α
and␈α
r)
␈↓ ↓H
␈↓α␈↓ βAThis writeup is ␈↓↓MRPP3.WRU[XGP,REM] ␈↓β1973 APR 03 0801 p.3
␈↓ ↓H
␈↓∧Example of usage, making five columns on a page:␈↓β
␈↓ ↓H
␈↓1␈↓∂←R␈↓1␈↓∂-L␈↓1␈↓∂/'5;␈↓1␈↓∂→W␈↓1␈↓∂. ␈↓βq-reg W contains width of a col
␈↓ ↓H
␈↓1␈↓∂←L␈↓1␈↓∂→1␈↓1␈↓∂+W␈↓1␈↓∂→2␈↓1␈↓∂+W␈↓1␈↓∂→3␈↓1␈↓∂+W␈↓1␈↓∂→4␈↓1␈↓∂+W␈↓1␈↓∂→5␈↓1␈↓∂. ␈↓βq-reg's 1,2,3,4,5 contain the column loc's
␈↓ ↓H
␈↓1␈↓∂←1␈↓1␈↓∂→.Hello␈↓1␈↓∂←2␈↓1␈↓∂→.This␈↓1␈↓∂←3␈↓1␈↓∂→.Is␈↓1␈↓∂←4␈↓1␈↓∂→.A␈↓1␈↓∂←5␈↓1␈↓∂→.Test.␈↓1␈↓∂. ␈↓βone word in each column
␈↓ ↓H
␈↓ ↓HHello␈↓ βNThis␈↓ ¬TIs␈↓ πZA␈↓ `Test.
␈↓ ↓H
␈↓ ↓H␈↓↓X␈↓α␈↓#⊂x+2-i␈↓ ↓[␈↓#tfoo␈↓ α≠␈↓↓+Y␈↓α␈↓#⊂2␈↓ α@␈↓#tbaz␈↓ ↓H␈↓!2↓#␈↓ ↓H␈↓!3↓#␈↓ αk␈↓ βN␈↓↓Guess␈↓ ¬T␈↓αWhat␈↓ πZ␈↓βThat␈↓ `␈↓∧Was?
␈↓ ↓H
␈↓↓ (x+y)
␈↓ ↓H
␈↓ ↓H
␈↓β␈↓ ∧QIf␈α⊗I␈α⊗add␈α∃any␈α∃new␈α∃glorious␈α∃features,␈α∃the
␈↓ ∧Qremainder␈αof␈αthis␈α
page␈α
will␈α
show␈α
examples␈α
of
␈↓ ∧Qthe␈α⊃beautiful␈α⊃things␈α⊃you␈α⊂can␈α⊂use␈α⊂them␈α⊂for.
␈↓ ∧QFor␈α
now,␈α
mostly␈α
blank␈α
space␈α
on␈α
this␈α
page...
␈↓ ↓H
␈↓βLeft␈↓ ε2Center␈↓ *Right
␈↓ ↓H